
import { defineStore } from 'pinia'


export default defineStore('globalStore', {
  state: () => ({

    /** 侧边栏动画时间(ms) */
    ALIAS_TRANS_TIME: <number>300,

    /** 侧边栏是否塌陷 */
    IS_COLLAPSE: <boolean>true,

    /** 当前可视区域宽度 */
    CURRENT_SIZE_WIDTH: <number>NaN,

    /** 当前可视区域高度 */
    CURRENT_SIZE_HEIGHT: <number>NaN,

    /** 标签菜单是否显示 */
    TAG_MENU: <boolean>false
  }),

  actions: {
    /** 切换侧边栏状态 */
    SET_UNFOLD() {
      this.IS_COLLAPSE = !this.IS_COLLAPSE
    },

    /** 当前页面, 有效区域 */
    SET_CURRENT_SIZE(width: number, height: number) {
      if (!Number.isNaN(width)) this.CURRENT_SIZE_WIDTH = width
      if (!Number.isNaN(height)) this.CURRENT_SIZE_HEIGHT = height
    },

    /** 标签栏菜单, 是否展示 */
    SET_TAG_MENU(state: boolean) {
      this.TAG_MENU = state
    }
  }
})
